# langchain prompt 封装
import os
from dotenv import load_dotenv,find_dotenv
_ =load_dotenv(find_dotenv());
from langchain.prompts import PromptTemplate
"""可以在模板中自定义变量

template = PromptTemplate.from_template(
    "给我讲个关于{subject}的笑话"
)
# template.input_variables 查找出模板中的变量名名称
print(template.input_variables)
# 将subject变量替换为python 这个字符串
print(template.format(subject="python"))

"""

"""对话模版
from langchain.prompts import ChatPromptTemplate
from langchain.prompts import SystemMessagePromptTemplate,HumanMessagePromptTemplate
from langchain.chat_models import ChatOpenAI

template = ChatPromptTemplate.from_messages(
   [
       SystemMessagePromptTemplate.from_template("你是{product}的客服助手。你的名字叫{name}"),
       HumanMessagePromptTemplate.from_template("{query}"),
   ]
)
llm = ChatOpenAI()
这里的data就是将变量填写完毕后完整的模板
data = template.format_messages(
    product="AGI课堂",
    name="小爱同学",
    query="你在吗？"
)
print(data)

print(llm(data))

"""

"""从文档中加载模版"""
from  langchain.prompts import load_prompt
prompt = load_prompt("E:\\project\\ai\\zhihu_llm\\langChain\\tem.json")

print(prompt.format(adjective="funny", content="fox"))
